/**
 * 
 */
package co.edu.uniquindio.sicorrespondencia.ejb;

import java.util.List;

import javax.ejb.Remove;
import javax.ejb.Stateful;
import javax.persistence.EntityManager;

import org.jboss.seam.ScopeType;
import org.jboss.seam.annotations.Destroy;
import org.jboss.seam.annotations.In;
import org.jboss.seam.annotations.Name;
import org.jboss.seam.annotations.Out;
import org.jboss.seam.annotations.Scope;

import co.edu.uniquindio.sicorrespondencia.entities.Departamento;
import co.edu.uniquindio.sicorrespondencia.entities.Municipio;
import co.edu.uniquindio.sicorrespondencia.interfaz.IMunicipioLocal;

/**
 * Esta es el ejb de la entidad municipio
 * 
 * @author Sofia Agudelo
 * @author Tannia Rosero
 * 
 */

@Stateful
@Name("municipioBean")
@Scope(ScopeType.CONVERSATION)
public class MunicipioBean implements IMunicipioLocal {

	@In
	private EntityManager entityManager;

	@Out
	@In(create = true)
	private Municipio municipio;

	public Boolean actualizar() {
		try {
			entityManager.merge(municipio);
			return Boolean.TRUE;
		} catch (Exception e) {
			return Boolean.FALSE;
		}
	}

	public Boolean eliminar() {
		try {
			entityManager.remove(municipio);
			return Boolean.TRUE;
		} catch (Exception e) {
			return Boolean.FALSE;
		}
	}

	public Boolean insertar() {
		try {
			entityManager.persist(municipio);
			return Boolean.TRUE;
		} catch (Exception e) {
			return Boolean.FALSE;
		}
	}

	@SuppressWarnings("unchecked")
	public List<Departamento> obtenerDepartamentos() {
		return entityManager.createQuery("select t from Departamento t")
				.getResultList();

	}

	@Remove
	public void remove() {

	}

	@Destroy
	public void destroy() {

	}
}
